Method of synchronizing physical and logical positions in a magnetic tape recording device

ABSTRACT

An improved tape storage device having information for converting longitudinal physical positions written in a medium to logical positions used by a tape drive. The conversion information, an offset and an optional maximum physical position value, are stored in one or more locations in the tape storage device. Methods of operating the tape drive are disclosed to determine and store the conversion information in the tape storage device. Another method of operation enables the tape drive to read the conversion information and convert the physical positions to logical positions. The method works for both center loading and end loading medium. Possible numeric rollover of the physical positions is detected by one of several methods including the step values between adjacent physical positions, comparing the logical positions with an upper and lower boundary, and generating a lookup table where the rollover is represented by a wraparound between the top and bottom of the table.

TECHNICAL FIELD

The present invention relates to the field of tape recording mediumlongitudinal position sensing.

BACKGROUND ART

Tape recording devices have a recording medium wound around one or twospools inside a housing. The medium is moved at a low speed during readand write operations, and at a higher speed during search and rewindoperations. A common mechanism for estimating the longitudinal positionof the medium with respect to a read-write head is a tachometer coupledto one of the spools. Linear tape movement is translated into rotationalmotion by the spool. The rotational motion is translated into electricalpulses by the tachometer. Counting the electrical pulses provides anapproximate relative distance traveled by the medium. When referenced toone end of the tape, the relative distance traveled becomes an absolutelongitudinal position.

Knowing the absolute longitudinal position of the medium is useful whensearching for specific data stored at a known position. A typical searchoperation involves two phases. First, the medium is accelerated to thesearch speed to move the desired position on the medium near theread-write heads. While the medium is moving at the higher search speed,the tachometer's electrical pulses are counted to estimate the medium'slongitudinal position. The second phase begins as the desired positiondraws near the read-write heads and the medium is slowed to the lowerread-write speed. The second phase of the search operation is conductedat the low speed by reading information from the medium until thedesired data is found.

The time required to complete the search operation is determined in partby the accuracy in the estimated longitudinal position of the medium.Greater estimated position accuracy during the higher search speedallows the desired location on the medium to be positioned closer to theread-write heads without overshooting. Closer positioning at high searchspeed results in less search time at the lower read-write speed.

One approach to improve the estimated position accuracy has been toincorporate pre-written physical positions in the medium. Typicallythese physical positions are written in the servo tracks in such a waythat they can be read while the medium is moving at the high searchspeed. The numeric range and physical spacing of the physical positionsare selected so that on any given tape recording device each physicalposition is unique. Knowing the longitudinal position of the desireddata in terms of the nearest physical position allows for fast searchoperations.

The physical positions are normally written into the medium before themedium is cut to the proper length, wound around the spools, andinstalled in the housing. This causes the first physical position ineach medium to have a random value. It also causes the physicalpositions in some tape recording devices to rollover from the highestvalue to the lowest value in adjacent positions. As a result, the tapedrive cannot treat the physical positions as an indication of anabsolute position from the end of the medium For instance, a physicalposition having a value of zero may be near the start of the medium,near the end of the medium, or not in the medium at all.

Randomness in the initial physical position is easily compensated forwith end loaded media. The first physical position read as the medium isloaded can be used as a reference point from which all relative, orlogical positions on the medium can be determined. The first physicalposition may be added to all relative or logical positions to convertthe relative or logical positions to the actual physical positions.Alternatively, the first physical position may be subtracted from allother physical positions to convert the physical positions to therelative or logical positions.

This approach of using the first physical position read after loadingthe medium as a reference point does not apply when the media is firstloaded at the center, or at another non-end position. The tape drive hasno quick means to determine if the first physical position read after aload is truly at the physical center of the medium or not. Tolerance inthe servo system of any given drive, variations from drive to drive, andrandom unloads can cause the medium to load at different position ateach independent load operation. The tape drive could move to one end ofthe medium immediately after loading to read the physical positionnearest that end, but doing so defeats the purpose of loading the mediumat the center.

Variations in the medium load position can cause several differentproblems. First, the medium is usually formatted immediately after thefirst load. Formatting assumes that the medium was loaded at or near thetrue physical center. When this assumption is false then an MediaInformation Region (MIR)(which contains administrative data) will beformatted off-center and the medium to either side of the MIR will be ofdifferent lengths. When writing to the short side of the MIR, thephysical end of the medium may be reached unexpectedly. When writing tothe long side of the MIR, part of the medium may remain unused. Otherproblems surface on subsequent loads if the medium is loaded atdifferent initial longitudinal positions. For example, the MIR may bemissed entirely, causing the tape recording device to be interpreted asa blank tape. This may make the tape look like a scratch tape to thehost system and customer data could be lost. Another problem is thatdata written near one end of the medium after an earlier load may bebeyond the servo limits computed from the present load position. Thedata is still in the medium and thus can be recovered, however,performance will suffer for those tape recording devices that are loadedoff-center.

In center load situations, the tape drive must assume that the medium isloaded at or very near to the center. Once loaded, an initial scan ofthe medium around the load position can be made to find the MIR oranother recognizable information that can be used to establish areference position. If nothing is found by the scan, either anassumption is made that the medium is blank, or time must be spentsearching for one physical end of the medium.

DISCLOSURE OF INVENTION

The present invention is an improved tape storage device and methods ofusing the tape storage device. Existing tape storage devices havepre-written physical positions stored in the longitudinal direction ofthe medium. Physical positions are pre-written in the medium before themedium is cut and spooled, so the first physical position in any giventape storage device has a random value. The improvement is storingoffset information in one or more locations in the tape storage deviceto enable a tape drive to convert the physical positions into logicalpositions without the need to find one physical end of the medium.Optionally, the largest value of the physical positions (called amaximum physical value) may also be stored in the tape storage device.The maximum physical value supports the physical position to logicalposition conversion when the physical position values undergo a rolloverin mid-tape. The tape storage device may hold the conversion informationin the medium, or in a nonvolatile memory embedded inside a housing thatsurrounds the medium.

A method of determining and storing the offset and maximum physicalvalue information in the tape storage device is also provided by thepresent invention. An offset is determined by an initial physicalposition read immediately after the medium is loaded in the tape drive.The initial physical position will be either the physical positionnearest one end of the medium, or a central physical position. Todetermine the maximum physical value, all of the physical positions areread and the largest value remembered. Once the conversion informationhas been determined, it is written into one or more locations in themedium, or into the nonvolatile memory.

The present invention includes methods of using the offset and maximumphysical value information. After loading, the offset is read from thetape storage device. The maximum physical value may be a constant knownto the tape drive if all compatible tape storage devices use the samephysical position range of values. Alternatively, the maximum physicalvalue may be read from the tape storage device itself, allowingdifferent lengths of medium to use different ranges of physicalpositions.

All conversion methods start with the basic process that the logicalpositions are the physical positions minus the offset. Variations in theconversion methods are described to account for a rollover conditionwhere the values of adjacent physical positions step between the maximumphysical value and the smallest physical value. One method of rolloverdetection checks the change in the physical position values between thecurrent physical position and a prior physical position. A second methodperforms the basic physical position to logical position conversion andthen checks to see if the resulting logical positions fall between setboundaries. A third method creates a lookup table that provides aone-to-one relationship between the physical positions and logicalpositions.

An advantage of the improved tape storage device and associated methodsis that they allow subsequent loads of the medium at random longitudinalpositions. The tape drive does not have to find one physical end of themedium to establish synchronization between the physical positions andlogical positions. Conversion from the physical positions to the logicalpositions can begin with the initial physical position read anywherealong the longitudinal length of the medium. This ability allows centerloaded tape storage devices to maintain their fast initial searchcapability as compared to end loaded tape storage devices.

Accordingly, it is an object of the present invention to provide animproved tape storage device that stores conversion information thatenables a tape drive to convert physical positions pre-written into themedium into logical positions.

Another object of the present invention is to provide a method ofdetermining and storing the conversion information in the tape storagedevice.

Yet another object of the present invention is to provide a method ofconverting the physical positions read from the medium to logicalpositions, taking into account the possibility of a rollover of thephysical positions at any point along the longitudinal length of themedium.

These and other objects, features and advantages will be readilyapparent upon consideration of the following detailed description inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a partial view of a medium having multiple physical positions;

FIG. 2 is a side view of a tape storage device having two spools and anonvolatile memory;

FIG. 3 is a flow diagram of a process for determining and storing anoffset required for converting the physical positions to the logicalpositions;

FIG. 4 is a flow diagram of another process for determining and storingthe offset;

FIG. 5 is a flow diagram of a process for determining the maximumphysical value of the physical positions, and storing that value in thetape storage medium;

FIG. 6 is a flow diagram of a process for converting the physicalpositions to the logical positions;

FIG. 7 is a flow diagram of a process for converting the physicalpositions to the logical positions where a physical position rollover isdetected by comparing the current physical position with the priorphysical position;

FIG. 8 is a flow diagram of another process for converting the physicalpositions to the logical positions where the physical position rolloveris detected by comparing the logical positions with boundaries; and

FIG. 9 is a flow diagram of yet another process for converting thephysical positions to the logical positions using a lookup table.

BEST MODE FOR CARRYING OUT THE INVENTION

The present invention is applicable to any storage device and associateddrive where the medium is in the form of a tape, and has physicalpositions written along the longitudinal length of the medium. In thepreferred embodiment, the tape storage device is a two-spool, centerloading magnetic tape cartridge. Other media such as optical, metallicfilm, dye-polymer, bubble forming, magneto-optical, amorphous tocrystalline phase transition media and the like may also be used withinthe tape storage device. The methods of operation described herein applyto the tape drives that reads and writes to the tape storage devices.

FIG. 1 shows a typical magnetic tape 100 having multiple physicalpositions 102 a-102 h written therein. The physical positions havevalues ranging from zero to a maximum physical value. During fabricationof the medium 100, the physical positions 102 are written in the mediumstarting from a zero value and increase incrementally. A rollover occurswhen the maximum physical value is reached and the next physicalposition has the zero value. After the physical positions 102 arewritten, the medium 100 is cut to a desired length resulting in theleftmost physical position (not shown) having a random value. The rangeof the physical positions 102 and the longitudinal length of the medium100 are selected such that each physical position 102 on any given cutmedium 100 is unique.

When the medium 100 is first formatted, a Media Information Region (MIR)104 is defined for storing administrative data. Administrative dataincludes items such as statistical and defect information. Customer data(not shown) begins a few meters beyond the MIR. The MIR may be locatedin the longitudinal middle of the medium 100, as shown in the example ofFIG. 1, or it may be located at the starting end of the medium 100.Preferably, the MIR is located in the medium 100 so that it is readilyaccessible immediately after the medium 100 is loaded in a tape drive(not shown).

Physical position to logical position conversion information consistingof an offset 106 and maximum physical value 108, are stored inside theMIR in one embodiment of the present invention. The MIR is an ideallocation to store the conversion information since overwriting isunlikely, and data within the MIR is readily available immediately afterthe medium 100 is loaded in the tape drive. Copies of the offset 106 andmaximum physical value 108 may be stored at other locations in themedium 100 for redundancy purposes. For example, the offset 106 andmaximum physical value 108 may be stored in the first data block of thecustomer's data. To account for situations where the medium 100 isloaded far away from the MIR, the offset 106 and maximum physical value108 may be stored in the header or trailer of every data block (notshown) written into the medium 100. Having many copies of the conversioninformation scattered across the medium 100 increases the probability offinding at least one copy shortly after loading the medium.

The conversion information may also be stored in different places withinthe data volume. FIG. 2 show an example of a tape storage device 200where the medium 100 is wound on spools 202 and 204. A housing 206surrounds the medium 100 and spools 202 and 204. The offset and maximumphysical count (not shown in this figure) are stored in a nonvolatilememory 208. Nonvolatile memory 208 is mounted in housing 206 so that itcan be externally accessed when the tape storage device 200 is mountedin the tape drive (not shown).

Other variations on the tape storage device 200 may be used within thescope of the present invention. For example, the medium 100 may bemounted on a single spool with or without a surrounding housing, and endloaded onto a receiving spool inside the tape drive. This approach iscommonly used for streaming tape drives. In another example, the medium100 is a continuous loop wound on a single spool. What is important isthat the offset 106 is linked to the medium 100 so that it is availableto the tape drive whenever the medium 100 is loaded in that tape drive.The maximum physical value 108 may also be linked to the medium 100, orit may be stored within the tape drive itself. When the maximum physicalvalue is stored in the tape drive, all of the media mounted in the tapedrive must have the same maximum physical value.

FIG. 3 is a flow diagram of a process that determines the offset andstores the offset in the tape storage device. First, the medium isloaded into the tape drive, as shown in block 300. The tape drive thenreads an initial physical position from the medium, as shown in block302. For end loading media, the initial physical position will be thephysical position nearest the loading end of the medium. For centerloading media, the initial physical position should be at or near thelongitudinal center of the medium. In practice, the physical positionsare written approximately twenty-four millimeters apart, so it is veryunlikely to find a physical position exactly at the longitudinal centerof the medium. For center loading media, the initial physical positionread from the medium will most likely be the first physical positionimmediately to the left or to the right of the longitudinal center ofthe medium. The manufacturer of the tape drive will choose between theleft and the right side to true center. Once the initial physicalposition has been read, the offset is set equal to the initial physicalposition, as shown in block 304. The offset is then stored back into thetape storage device, as shown in block 306.

The process shown in FIG. 3 will produce an offset that aligns theinitial physical position read from the medium with the origin of alogical positioning system. Table 1 shows an example where the initialphysical position read has a value of eleven. Setting the offset to avalue of eleven, and subtracting the offset from each physical positionproduces the logical positions shown in the table. Note that the logicalpositions include both positive values and negative values.

TABLE 1 Offset = Initial Physical Position Physical Position 8 9 10 1112 13 14 Logical Position −3 −2 −1 0 1 2 3

FIG. 4 is a flow diagram of another process for determining and storingthe offset. After the medium is loaded, as shown in block 400, the tapedrive moved to one end of the medium, as shown in block 402. Thephysical position nearest the one end of the medium is then read as theinitial physical position, as shown in block 404. The offset is thencalculated, as shown in block 406, and stored in the tape storagedevice, as shown in block 408. This process determines the offsetdifferently than the process shown in FIG. 3. The offset defined by theprocess shown in FIG. 4 is equal to the initial physical position minusa predetermined base value. The base value determines where the initialphysical position aligns with the logical zero position. When the basevalue has a value of zero, the offset aligns the initial physicalposition with the logical zero position, as shown in Table 2.

TABLE 2 Offset = Initial Physical Position − Base Value (0) PhysicalPosition 8 9 10 11 12 13 14 Logical Position 0 1 2 3 4 5 6

Where the tape drive manufacturer prefers that the logical positionsstart from a value of one, the base value is set equal to one to producethe results shown in Table 3.

TABLE 3 Offset = Initial Physical Position − Base Value (1) PhysicalPosition 8 9 10 11 12 13 14 Logical Position 1 2 3 4 5 6 7

A base value equal to negative three results in the same alignmentbetween the physical positions and the logical positions as shown inTable 1. The base value of negative three also produces the same offset(eleven) as produced by the process shown in FIG. 3. Note, however, thatthe presence of a rollover can cause the processes shown in FIG. 3 andFIG. 4 to produce a different offset.

An example of a physical position rollover (physical position 15 tophysical position 0) is shown in Table 4. Using the process shown inFIG. 3, the offset is equal to the initial physical position(offset=one). Using the process shown in FIG. 4, the offset is equal tothe initial physical position minus the base value. Here the initialphysical position has a value of fourteen and the base value is negativethree producing and offset equal to seventeen. The difference in offsetsis due to the placement of the rollover with respect to the initialphysical position used in determining the offset. In the process shownin FIG. 3, the offset is determined by an initial physical position tothe right of the rollover The process shown in FIG. 4 uses an initialphysical position to the left of the rollover. As will be shown later,it may be important to the process that converts between physicalpositions and the logical positions known how the offset was determined.

TABLE 4 Rollover to the left of the logical zero position PhysicalPosition 14 15  0 1 2 3 4 Logical Position −3 −2 −1 0 1 2 3

An advantage of the process shown in FIG. 4 as compared with the processshown in FIG. 3 is that the medium does not have to be centered beforeloading when determining the offset. The added cost of the process shownin FIG. 4 is the time required to find the end of the medium.

FIG. 5 is a flow diagram of a process that determines and stores themaximum physical value. The maximum physical value is used by some ofthe physical position to logical position conversion methods (to bedescribed later) to detect and/or compensate for a rollover in thephysical positions. The process starts when the medium is loaded intothe tape drive, as shown in block 500. Next, the tape drive moves to oneend of the medium and sets a temporary variable equal to zero, as shownin block 502. The tape drive starts reading the physical positions, asshown in block 504. Each physical position is then compared with thetemporary variable, as shown by decision block 506. If the physicalposition is greater than the temporary variable, then the temporaryvariable is set equal to the physical position, as shown in block 508.If the physical position is equal to or less than the temporaryvariable, then the next physical position is compared. The processcontinues comparing physical positions to the temporary variable untilall of the physical values have been compared, as indicated by the “NO”branch of decision block 512. The maximum physical value is then setequal to the smallest binary number of all logical ones that is largerthan the temporary variable, as shown in block 512. Finally, the maximumphysical value is stored in the tape storage device, as shown in block514.

The basic process for converting the physical positions to the logicalpositions is shown in FIG. 6. First, the medium is loaded into the tapedrive, as shown in block 600. The offset and, if present, the maximumphysical value are read from the tape storage device, as shown in block602. As the tape drive moves the medium, it reads each physical positionas it passes the read-write heads, as shown in block 604. Each physicalposition is then converted into a corresponding logical position usingat least the offset, as shown in block 606. The process continues untilthe medium is unloaded, as indicated by the “YES” branch of decisionblock 608.

Three example processes for converting the physical positions to logicalpositions while considering rollovers are shown as follows. Theseexamples are provided as illustration and are not meant to limit thepresent invention.

FIG. 7 is a flow diagram of a process that converts the physicalpositions to logical positions, and detects physical position rolloversby comparing adjacent physical positions. References will be made to theexamples shown in Table 4 and Table 5 to help illustrate this process.The process starts with loading the medium, as shown in block 700. Theoffset and maximum physical values are read from the medium, and a flagis set to a “NULL” value, as shown in block 702. In the example shown inTable 4, the offset has a value of one, and the maximum physical valueis fifteen. The first physical position is then read, as shown in block704. The corresponding logical position is calculated as the physicalposition minus the offset, as shown in block 706. In the example shownin Table 4 the first physical position has a value of two and thecorresponding logical position has a value of one (2−1=1).

If the medium is not unloaded, the “NO” branch in decision block 708,then the first physical position, which is also the current physicalposition, is remembered as a prior physical position, as shown in block710. The next current physical position is then read, as show in block712. In the example shown in Table 4, moving right-to-left on themedium, the next current physical position has a value of one. After thenext current physical position is read, numerical difference between thecurrent physical position and the prior physical position is checked,decision block 714, to determine if a positive rollover has taken place.In the example, the current physical position (one) minus the priorphysical position (two) is a step of minus one, so no positive rolloverhas taken place. A second check is made, decision block 716, todetermine if a negative rollover has taken place. Returning to theexample, the current physical position (one) minus the prior physicalposition (two) is a step of minus one, so no negative rollover has takenplace.

After checking for rollovers, the process continues based upon the valueof the flag, as indicated by decision block 718. In the example, theflag's current value is “NULL”, so the logical position corresponding tothe physical position of one is equal to the physical position minus theoffset (1−1=0).

Continuing to read right-to-left in the example in Table 4, the nextcurrent physical position has a value of zero, and the prior physicalposition now has a value of one. The step from physical position one tozero is a step of minus one, so no rollovers have taken place. The flagremains at “NULL”, so the logical position corresponding to the physicalposition of zero is negative one (0−1=−1).

The next current physical position read has a value of fifteen and thenext prior physical position has a value of zero. When the priorphysical position (zero) is subtracted from the current physicalposition (fifteen) a step of fifteen results, indicating a positiverollover, as shown by the “YES” branch of decision block 714. Next, thevalue of the flag is changed from “NULL” to “DECREASE”, as indicated bydecision block 720 and block 722. When the flag is checked again indecision block 718, the “DECREASE” branch sends the process to block 724where the logical position is calculated as the current physicalposition minus the offset and minus the sum of the maximum physicalvalue plus one (15−1−(15+1)=−2).

If the medium is not read left-to-right, then the next current physicalposition read has a value of zero. Now the current physical position(zero) minus the prior physical position (fifteen) produces a step ofnegative fifteen. This large negative step in the physical positions isdetected as a negative rollover by decision block 716. Decision block726 and block 728 set the flag back to the “NULL” value so that decisionblock 718 directs the flow back to block 706 to calculate the logicalposition.

Table 5 shows an example where the physical position rollover is to theright of the logical zero position. Starting the process over with theinitial physical position of fourteen, an offset of fourteen, and theflag having the “NULL” value, then block 706 will produce a logicalposition value of zero (14−14=0). Reading from left-to-right on themedium, the next current physical position read will have a value offifteen resulting in a logical position having a value of one. On thenext read the current physical position read will have a value of zeroand the prior physical position will have the value of fifteen. Thetransition from the prior physical position (fifteen) to the currentphysical position (zero) is a step of negative fifteen. Decision block716 detects this large negative step as a negative rollover, anddecision block 726 and block 730 change the value of the flag from“NULL” to “INCREASE”. At decision block 718, the process uses block 732to calculate the logical position. In the present example, the logicalposition is equal to the physical position minus the offset, plus thesum of the maximum physical value plus one (0−14+(15+1)=2).

TABLE 5 Rollover to the right of the logical zero position PhysicalPosition 11 12 13 14 15 0 1 Logical Position −3 −2 −1 0 1 2 3

Should the read direction be reversed at this point, a positive rolloveris detected and decision blocks 714, 720 and 728 will reset the flag tothe “NULL” value.

If two successive positive rollovers, or two successive negativerollovers are detected, then upon detection of the second successiverollover, the process moves to decision block 734 where error conditionis declared.

FIG. 8 is a flow diagram of another process for converting the physicalpositions to the logical positions. This method uses the base value as alower boundary, and the sum of the base value and the maximum physicalvalue as an upper boundary for valid logical positions. If a physicalposition is converted to a logical position outside these boundaries,then the logical position is adjusted up or down accordingly. Examplesshown in Table 6 and Table 7 are used to illustrate this process.

TABLE 6 Rollover to the left of the logical zero position Offset = 2,Base Value = −3, Maximum Physical Value = 15 Physical Position 14 15 0 12 3 4 5 6 Logical Position −4 −3 −2 −1 0 1 2 3 −4

TABLE 7 Rollover to the right of the logical zero position Offset = 29,Base Value = −4, Maximum Physical Value = 31 Physical Position 25 26 2728 29 30 31 0 1 Logical Position −4 −3 −2 −1 0 1 2 3 4

The process starts with the loading of the medium, as shown in block800. The offset and maximum physical value are then read from the tapestorage device, as shown in block 802. Each physical position read, asindicated by block 804, is converted into a logical position using onlythe offset, as shown in block 806. If the resulting logical position(LP) is greater than the base value, the “NO” branch of decision block808, and less than the sum of the base value plus the maximum physicalvalue (PV), the “NO branch of decision block 810, then the logicalposition is valid and is used by the tape drive as-is. This process isrepeated until the medium is unloaded, the “YES” branch of decisionblock 812.

For the example shown in Table 6, the physical position having the valueof four produces a logical position having a value of two. The logicalposition value of two is greater than the base value of negative three,and less than the sum of the base value plus the maximum physical value(−3+15=12) so it is within the boundaries. For the example shown inTable 7, the physical position having the value of twenty-seven producesa logical position of negative two. The logical position value ofnegative two is greater than the base value of negative four, and lessthan the sum of the base value plus the maximum physical value(−4+31=27) so it too is within the boundaries.

Now consider the physical position in Table 7 having the value of one.The resulting logical position provided by block 806 would be negativetwenty-eight. (1−29=−28). Negative twenty-eight is less than the basevalue of negative four so the logical position is below the lowerboundary. To bring this logical position back withing the boundaries, itis increased by the sum of the maximum physical value plus one(1−29+(31+1)=4).

Returning to the example shown in Table 6, the physical position havingthe value of fifteen produces a logical position having a value ofthirteen (15−2=13). Thirteen is greater than the base value of negativethree, but it is also greater than the sum of the base value plus themaximum physical value (−3+15=12). As a result, this logical position isdecreased by the sum of the maximum physical value plus one, as shown inblock 816 (15−2−(15+1)=−3) to bring it back within the boundaries.

FIG. 9 is a flow diagram of yet another process for converting thephysical positions to the logical positions. This process works byreading the offset from the medium after the medium is loaded, asindicated by blocks 902 and 900. From the offset, a lookup table iscreated, as indicated by block 904. Afterwards, each physical positionread from the medium, block 906, is translated by the lookup table todetermine the corresponding logical position, as shown in block 908. Aswith the other processes, the conversion continues until the medium isunloaded, as indicated by the “YES” branch of decision block 910.

Generation of the lookup table depends upon the process used todetermine the offset. The first lookup table generation processcorresponds to the process shown in FIG. 3 where the offset isdetermined by the initial physical position read in the center of themedium. First, the logical zero position is placed in the lookup tableat an input address equal to the offset, as shown in Table 8.

TABLE 8 Offset = 5 Input Address = Physical Position Logical Position 76 5 0 4 3 2 1 0

The entries at input addresses above the offset address are filled withincreasing positive values, and the entries at input addresses below theoffset address are filled with decreasing negative values. Wraparound isperformed at the ends of the lookup table. The last entry between thehighest logical position value and the lowest logical position value maybe left blank, as shown in Table 9

TABLE 9 Offset = 5 Input Address = Physical Position Logical Position 72 6 1 5 0 4 −1   3 −2   2 −3   1 blank 0 3

When the offset is determined by the process shown in FIG. 4, theinitial physical position aligns with the logical position having thebase value, then the lookup table must be created in a different manner.Here, the first entry into the lookup table has a value equal to thebase value, and is inserted in the lookup table where the input addressequals the sum of the offset plus the base value. (The offset plus thebase value equal the initial physical position read after moving to theend of the medium.) An example is shown in Table 10 where the offsetequals nine and the base value equals negative three, so the base value(−3) is entered where the input address equals six (9+(−3)=6).

TABLE 10 Offset = 9, Base Value = −3 Input Address = Physical PositionLogical Position 7 6 −3 5 4 3 2 1 0

Starting from where the input address equals the sum of the offset plusthe base value, the entries are incremented moving up in the lookuptable. Wraparound is performed from the top the table to the bottom ifnecessary. The resulting lookup table is shown in Table 11.

TABLE 11 Offset = 9, Base Value = −3 Input Address = Physical PositionLogical Position 7 −2   6 −3   5 4 4 3 3 2 2 1 1 0 0 −1  

While embodiments of the invention have been illustrated and described,it is not intended that these embodiments illustrate and describe allpossible forms of the invention. Rather, the words used in thespecification are words of description rather than limitation, and it isunderstood that various changes may be made without departing from thespirit and scope of the invention.

What is claimed is:
 1. An improved tape recording device having aplurality of physical positions stored in a medium, the improvementcomprising: an offset value stored in at least one location in the taperecording device to synchronize the plurality of physical positions witha plurality of logical positions respectively; and a maximum physicalvalue stored in at least one location in the tape recording device foruse in synchronizing the plurality of physical positions with theplurality of logical positions.
 2. The improved tape recording device ofclaim 1 wherein the tape recording device includes a housing, theimprovement further comprising a nonvolatile memory disposed in thehousing and storing the offset value.
 3. The improved tape recordingdevice of claim 1 wherein the offset value is stored in the medium. 4.The improved tape recording device of claim 1 wherein the tape recordingdevice includes a housing, the improvement further comprising anonvolatile memory disposed in the housing and storing the maximumphysical value.
 5. The improved tape recording device of claim 1 whereinthe maximum physical value is stored in the medium.
 6. The improved taperecording device of claim 1 wherein the medium is selected from a groupof media consisting of magnetic media, optical media, metallic filmmedia, dye-polymer media, bubble forming media, magneto-optical, andamorphous to crystalline phase transition media.
 7. A method ofoperating a tape drive to store an offset value in a tape recordingdevice, wherein the offset value synchronizes a plurality of logicalpositions with a plurality of physical positions stored in a medium ofthe tape recording device, the method comprising: loading the taperecording device into the tape drive; reading an initial physicalposition in response to loading the tape recording device into the tapedrive; generating the offset value equal to the initial physicalposition; storing the offset value in at least one location in the taperecording device; and storing a maximum physical value in at least onelocation in the tape recording device after loading the tape recordingdevice into the tape drive.
 8. The method of claim 7 further comprising:reading the plurality of physical positions stored in the medium afterloading the tape recording device into the drive; remembering a largestphysical position of the plurality of physical positions read from themedium; and setting a maximum physical value equal to a smallest binarynumber having all logical ones that is at least as large as the largestphysical position after reading the plurality of physical positions fromthe medium.
 9. A method of operating a tape drive to store an offsetvalue in a tape recording device, wherein the offset value synchronizesa plurality of logical positions with a plurality of physical positionsstored in a medium of the tape recording device, a base value defines alowest value of the plurality of logical positions, and the plurality ofphysical positions generally increase as seen moving from a first end ofthe medium to a second end of the medium, the method comprising: loadingthe tape recording device into the tape drive; moving with the tapedrive to the first end of the medium; reading a first physical positionnearest the first end of the medium after moving to the first end of themedium; generating the offset value equal to a difference of the firstphysical position minus the base value; and storing the offset value inat least one location in the tape recording device.
 10. The method ofclaim 9 further comprising storing a maximum physical value in at leastone location in the tape recording device after loading the taperecording device into the tape drive.
 11. The method of claim 10 furthercomprising: reading the plurality of physical positions stored in themedium after loading the tape recording device into the drive;remembering a largest physical position of the plurality of physicalpositions read from the medium; and generating a maximum physical valueequal to a smallest binary number having all logical ones that is atleast as large as the largest physical position.
 12. A method ofoperating a tape drive to synchronize a plurality of logical positionswith a plurality of physical positions stored in a medium of a taperecording device based upon an offset value stored in the tape recordingdevice, the method comprising: loading the tape recording device intothe tape drive; reading the offset value from the tape recording devicesubsequent to loading the tape recording device into the tape drive;reading at least one physical position of the plurality of physicalpositions from the medium subsequent to loading the tape recordingdevice into the tape drive; and converting each physical position of theat least one physical position to a respective one logical position ofthe plurality of logical positions based upon the offset value inresponse to reading the offset value and the at least one physicalposition; wherein a maximum physical value defines a highest value ofthe plurality of physical positions, and the at least one physicalposition is at least two physical positions, the converting of the atleast one physical position to at least one logical position comprises:initializing a flag to a null value in response to loading the taperecording device into the tape drive; comparing a prior physicalposition of the at least two physical positions with a current physicalposition of the at least two physical positions to detect in thealternative a positive rollover or a negative rollover in the pluralityof physical positions in response to reading the at least two physicalpositions; setting the flag to an increase value in response todetecting the negative rollover when the flag has the null value;setting the flag to a decrease value in response to detecting thepositive rollover when the flag has the null value; setting the flag tothe null value in response to detecting the positive rollover when theflag has the increase value; setting the flag to the null value inresponse to detecting the negative rollover when the flag has thedecrease value; offsetting the current physical position by the offsetvalue to obtain the respective one logical position when the flag hasthe null value; offsetting the current physical position by the offsetvalue plus the maximum physical value plus one to obtain the respectiveone logical position when the flag has the increase value; andoffsetting the current physical position by the offset value minus themaximum physical value minus one to obtain the respective one logicalposition when the flag has the decrease value.
 13. The method of claim12 further comprising reading the maximum physical value from the taperecording device in response to loading the tape recording device intothe tape drive.
 14. A method of operating a tape drive to synchronize aplurality of logical positions with a plurality of physical positionsstored in a medium of a tape recording device based upon an offset valuestored in the tape recording device, the method comprising: loading thetape recording device into the tape drive; reading the offset value fromthe tape recording device subsequent to loading the tape recordingdevice into the tape drive; reading at least one physical position ofthe plurality of physical positions from the medium subsequent toloading the tape recording device into the tape drive; and convertingeach physical position of the at least one physical position to arespective one logical position of the plurality of logical positionsbased upon the offset value in response to reading the offset value andthe at least one physical position; wherein a base value defines alowest value of the plurality of logical positions and a maximumphysical value defines a highest value of the plurality of physicalpositions, the converting of the at least one physical position to atleast one logical position comprises: offsetting each physical positionof the at least one physical position by the offset value to obtain therespective logical position; comparing each logical position with thebase value in response to offsetting to determine if each logicalposition is less than the lowest value allowed; increasing each logicalposition that is less than the base value by a first sum of the maximumphysical position plus one in response to comparing the at least onelogical position with the base value; comparing each logical positionwith a second sum of the base value plus the maximum physical value inresponse to offsetting to determine if each logical position is greaterthan the highest value allowed; and decreasing each logical positionthat is greater than the second sum of the base value plus the maximumphysical value by the first sum of the maximum physical value plus one.15. The method of claim 14 further comprising reading the maximumphysical value from the tape recording device in response to loading thetape recording device into the tape drive.
 16. A method of operating atape drive to synchronize a plurality of logical positions with aplurality of physical positions stored in a medium of a tape recordingdevice based upon an offset value stored in the tape recording device,the method comprising: loading the tape recording device into the tapedrive; reading the offset value from the tape recording devicesubsequent to loading the tape recording device into the tape drive;reading at least one physical position of the plurality of physicalpositions from the medium subsequent to loading the tape recordingdevice into the tape drive; converting each physical position of the atleast one physical position to a respective ore logical position of theplurality of logical positions based upon the offset value in responseto reading the offset value and the at least one physical position,wherein the converting of the at least one physical position to at leastone logical position comprises entering each physical position of the atleast one physical position into the input address of the lookup tableto obtain the respective one logical position; providing a lookup tablehaving an input address, the lookup table storing the plurality oflogical positions such that a logical position of the plurality oflogical positions having a value equal to zero is stored where the inputaddress equals the offset value, and reading a maximum physical valuefrom the tape recording device in response to loading the tape recordingdevice into the tape drive.
 17. A method of operating a tape drive tosynchronize a plurality of logical positions with a plurality ofphysical positions stored in a medium of a tape recording device basedupon an offset value stored in the tape recording device, the methodcomprising: loading the tape recording device into the tape drive;reading the offset value from the tape recording device subsequent toloading the tape recording device into the tape drive; reading at leastone physical position of the plurality of physical positions from themedium subsequent to loading the tape recording device into the tapedrive; and converting each physical position of the at least onephysical position to a respective one logical position of the pluralityof logical positions based upon the offset value in response to readingthe offset value and the at least one physical position; wherein theplurality of physical positions generally increase as seen moving from afirst end of the medium to a second end of the medium, a maximumphysical value defines a highest value of the plurality of physicalpositions, and the at least one physical position is at least twophysical positions, the converting of the at least one physical positionto at least one logical position comprises: initializing a flag to anull value in response to loading the tape recording device into thetape drive; moving tape to the first end of the medium before readingthe at least two physical positions; comparing a prior physical positionof the at least two physical positions with a current physical positionof the at least two physical positions to detect in the alternative apositive rollover or a negative rollover in the plurality of physicalpositions in response to reading the at least two physical positions;setting the flag to an increase value in response to detecting thenegative rollover when the flag has the null value; setting the flag tothe null value in response to detecting the positive rollover when theflag has the increase value; offsetting the current physical position bythe offset value to obtain the respective one logical position when theflag has the null value; and offsetting the current physical position bythe offset value plus the maximum physical value plus one to obtain therespective one logical position when the flag has the increase value.18. The method of claim 17 further comprising reading the maximumphysical value from the tape recording device in response to loading thetape recording device into the tape drive.
 19. A method of operating atape drive to synchronize a plurality of logical positions with aplurality of physical positions stored in a medium of a tape recordingdevice based upon an offset value stored in the tape recording device,the method comprising: loading the tape recording device into the tapedrive; reading the offset value from the tape recording devicesubsequent to loading the tape recording device into the tape drive;reading at least one physical position of the plurality of physicalpositions from the medium subsequent to loading the tape recordingdevice into the tape drive; and converting each physical position of theat least one physical position to a respective one logical position ofthe plurality of logical positions based upon the offset value inresponse to reading the offset value and the at least one physicalposition; wherein a base value defines a lowest value of the pluralityof logical positions and a maximum physical value defines a highestvalue of the plurality of physical positions, the converting of the atleast one physical position to at least one logical position comprises:offsetting each physical position of the at least one physical positionby the offset value to obtain the respective logical position; comparingeach logical position with the base value in response to offsetting todetermine if each logical position is less than the lowest valueallowed; and increasing each logical position that is less than the basevalue by a first sum of the maximum physical position plus one inresponse to comparing the at least one logical position with the basevalue.
 20. The method of claim 19 further comprising reading the maximumphysical value from the tape recording device in response to loading thetape recording device into the tape drive.
 21. A method of operating atape drive to synchronize a plurality of logical positions with aplurality of physical positions stored in a medium of a tape recordingdevice based upon an offset value stored in the tape recording device,the method comprising: loading the tape recording device into the tapedrive, reading the offset value from the tape recording devicesubsequent to loading the tape recording device into the tape drive;reading at least one physical position of the plurality of physicalpositions from the medium subsequent to loading the tape recordingdevice into the tape drive; and converting each physical position of theat least one physical position to a respective one logical position ofthe plurality of logical positions based upon the offset value inresponse to reading the offset value and the at least one physicalposition; wherein a base value defines a lowest value of the pluralityof logical positions, the method further comprises providing a lookuptable having an input address, the lookup table storing the plurality oflogical positions such that a logical position of the plurality oflogical positions having a value equal to the base value is stored wherethe input address equals a sum of the offset value plus the base value,and wherein the converting of the at least one physical position to atleast one logical position comprises entering each physical position ofthe at least one physical position into the input address of the lookuptable to obtain the respective one logical position.
 22. The method ofclaim 21 further comprising reading the maximum physical value from thetape recording device in response to loading the tape recording deviceinto the tape drive.